package edu.yonsei.iwb.smarttv.model;

import com.hp.hpl.jena.rdf.model.Resource;
import java.util.Vector;

/**
 * 클래스 타입의 리소스를 표현하는 제일 기본적인 단위
 * 클래스의 uri와 그 클래스를 내부적으로 대표하는 숫자 아이디를 가지고 있음.
 * 
 * @author Joo
 */
public class MNode extends ResourceNode {

    // name은 노드를 대표하는 uri
    private final String name;
    // id는 노드를 대표하는 숫자
    private final int id;
    private final boolean isDummy;
    
    //-----수정-----
    MNode parent;
    Vector<MNode> children;
    //-----수정-----

    public MNode(Resource node, int id, int type, boolean isDummy) {
        super(node, type);
        this.name = node.getURI();
        this.id = id;
        this.isDummy = isDummy;
    }

    public String getName() {
        return this.name;
    }

    public int getId() {
        return this.id;
    }
    
    public MNode getParent() {
        return this.parent;
    }
    
    public Vector<MNode> getChildren() {
        return this.children;
    }
    
    public boolean isDummy() {
        return isDummy;
    }
    
    public void setParent(MNode parent) {
        this.parent = parent;
    }
    
    public void setChildren(Vector<MNode> children) {
        this.children = children;
    }
    
    public void addChild(MNode n) {
        this.children.add(n);
    }
}
